﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Distrackting.DataLayer;
using System.Collections.Generic;
using System.Collections;

namespace Distrackting.BusinessLayer
{
    public  class GerirEntidadeResponsavel
    {

        public static List<Entidade_responsavel> getEntidades()
        {
            try
            {
                return dataEntidade_responsavel.getEntidade_responsaveis().ToList();

            }
            catch (Exception ) { throw new Exception("Não foi possível consultar a lista das entidades responsáveis."); }
        }

        public static Guid inserirEntidadeResponsavel(String nome, String email, String url)
        {
            try
            {
                Entidade_responsavel e = new Entidade_responsavel();
                e.nome = nome;
                e.email = email;
                e.url = url;
                return dataEntidade_responsavel.createEntidade_responsavel(e);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível inserir a entidade responsável.");
            }
        }

        public void apagarEntidadeResponsavel(Guid cod_entidade)
        {
            try
            {
                Entidade_responsavel e = dataEntidade_responsavel.getEntidade_responsavel(cod_entidade);
                dataEntidade_responsavel.deleteEntidade_responsavel(e);
            }
            catch (Exception)
            {
                throw new Exception("Não foi possível remover a entidade responsável.");
            }
        }

        public Entidade_responsavel getEntidadeResponsavel(Guid cod_ent)
        {
            try
            {
                return dataEntidade_responsavel.getEntidade_responsavel(cod_ent);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível aceder a entidade responsável.");
            }
        }

        public Entidade_responsavel getEntidadeResponsavelByNome(String nome)
        {
            try
            {
                Entidade_responsavel ent = new Entidade_responsavel();
                foreach (Entidade_responsavel e in dataEntidade_responsavel.getEntidade_responsaveis())
                {
                    if (e.nome == nome) return e;
                }
                return ent;
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível aceder a entidade responsável pretendida.");
            }
        }
    }
}
